/*
 * threadsPPD.c
 *
 *  Created on: 01/11/2011
 *      Author: utn_so
 */

#include "threadsPPD.h"

#define DIRECCIONSOCKET "/home/utn_so/fichero"

void tratarConsola (void *arg)//void *arg
{

	//char* socket;
	config *Config = (config*) arg;

	//int MAXIMO_TAMANIO = Config->CHS.cilindros * Config->CHS.sectores;

	/*pid_t pid;
		char *args[0];
		pid= fork();
		if (pid == -1){
			printf("Error haciendo el fork() para la consola");
		}
		else if (pid == 0){
			puts("- Haciendo execv ...");//tendria q ser un log
			if (execv("/home/utn_so/Desarrollo/Workspace/ConsolaPPD/Debug/ConsolaPPD", args) == -1){
			 	 perror("PPD_Consola");;
			}
		}*/
	    //struct infoConfig CONFIG;
		pid_t pid;
		pid = fork();
		if (pid == 0) {
			puts("- Haciendo execl ...");//tendria q ser un log
			if( execl("/home/utn_so/Desarrollo/Workspace/ConsolaPPD/Debug/ConsolaPPD", "Consola_PPD") == -1 ){
			      perror("PPD_Consola");
			}
		} else if (pid == -1){
			printf("Error haciendo el fork() para la consola");//tendria q ser un log
		}

				int  socketConsola;

				//char mensajeRecibido[30];//socketPPD vendria a ser el Servidor
				     	 	 	 	   // y socketConsola el Cliente

				//para responder a la consola

				setearValores();//esto lo usa el traducir mensaje


				//strcpy (socket, CONFIG.pathSocketUnix);

			    socketConsola = obtenerSocketUnixDeConsola (Config->pathSocketUnix);//cambiar DIRECCIONSOCKET por el path que lee del config

			    //leerConfig(ARCHIVOCONFIG,CONFIG);

			    do{


			    	leeLinea (socketConsola, mensajeRecibido);
			    	traducirMensaje(mensajeRecibido);//carga en mensaje lo que teng que mandarle a la consola
			    	write ( socketConsola, mensaje , strlen (mensaje) + 1 );


			   } while (strcmp(comando, "exit") != 0);
			    //atenderConsola(comando);

			    close (socketConsola);

			    //pthread_exit(NULL);

}

/*void tratarPedidos ()
{

}

void tratarRaidOFileSytem ()
{

}*/
